package com.hw.shortlink.project.dao.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
 * @description link
 * @author hewang
 * @date 2025-02-06
 */
@Data
@TableName("tb_link")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ShortLink implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;


    /**
    * ID
    */
    private Long id;

    /**
    * 域名
    */
    private String domain;

    /**
    * 短链接
    */
    private String shortUri;

    /**
    * 完整短链接
    */
    private String fullShortUrl;

    /**
    * 原始链接
    */
    private String originUrl;

    /**
    * 点击量
    */
    private Integer clickNum;

    /**
    * 分组标识
    */
    private String gid;

    /**
    * 启用标识 0：已启用 1：未启用
    */
    private Integer enableStatus;

    /**
    * 创建类型 0：接口 1：控制台
    */
    private Integer createdType;

    /**
    * 有效期类型 0：永久有效 1：用户自定义
    */
    private Integer validDateType;

    /**
    * 有效期
    */
    private Date validDate;

    /**
    * 描述
    */
    @TableField("`describe`")
    private String describe;

    /**
     * 网站图标
     */
    private String favicon;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 修改时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /**
     * 删除标识 0: 未删除 1: 已删除
     */
    @TableField(fill = FieldFill.INSERT)
    private Integer delFlag;

    /**
     * 删除时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date delTime;



}